home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Magnum One
/
Magnum One (Mid-American Digital) (Disc Manufacturing).iso
/
d7
/
boyan5a.arc
/
HOST.BSC
< prev
next >
Wrap
Text File
|
1991-05-28
|
19KB
|
474 lines
\\ BOYAN HOST MODE Version 5.0.
\\ Please see the BOYAN User's Manual for complete documentation!
|InitHost
\IE-%AN,HOST[ \AM[H] ]
\IE-%AN,HOST[\DM24[Unable to load HOST module.]\AB]
\ZS \ST[Invoking host in %V3 mode...]
\DM1[ ╔═══════════════════════════════════════╗ ]
\DM2[ ║ Host Mode Initializing... ║ ]
\DM3[ ╠═══════════════════════════════════════╣ ]
\DM4[ ║ Press <Tab> for Sysop Menu. ║ ]
\DM5[ ║ Press <Esc> to quit Host Mode. ║ ]
\DM6[ ╚═══════════════════════════════════════╝ ]
\CP[None] \BB- \AV[0] \KO[0] \SP[0] \SL[0] \\ initialize host settings
\SVU[%UN] \IE+%UF,OFF[\SVU[]] \\ save current usage file name in %VU
\SVR[%AP] \\ save previous action module in %VR
\UF+[%V4`HOST.USE] \\ use HOST.USE as the usage log file
\UM[---- Host Mode Invoked -----]
\FE+%B:macro#7.hos[\GB[WaitForCall]] \\ If macro #7 already saved, go on...
\MV1[7] \AF%B:macro#7.hos[%V1] \\ Else store in macro#7.hos, and set new:
\SM7[\II+HOST,"%SC[\AT-[\GB[Cycle"] \EM"]"] \SC[Host;Restore7"] \MA[7"] "\"\ used by host]
\GB[WaitForCall]
|WaitForCall
\EC- \LF- \KO[0] \SVN[] \SVO[waiting]
\IV3-MODEM[\GB[Welcome]] \CA+[\GB[Welcome]]
\CS[%MM] \MA[3] \\ Change speed to modem's maximum.
ATX4S0=0{ \\ Tell modem not to auto-answer.
\WF[OK]~~ \\ Expect "OK" message back from modem.
\DM1[ ╔═══════════════════════════════════════╗ ]
\DM2[ ║ Host Mode Waiting for RING... ║ ]
\DM3[ ╠═══════════════════════════════════════╣ ]
\DM4[ ║ Press <Tab> for Sysop Menu. ║ ]
\DM5[ ║ Press <Esc> to quit Host Mode. ║ ]
\DM6[ ╚═══════════════════════════════════════╝ ]
\TO[255] \WF[RING] \\ Wait forever for "RING"
\TO[7] \SV0[%V2] \+V0[-1] \\ let %V0 = tot. number of rings - 1
\RE%V0[\WF[RING] \IW-[\GB[WaitForCall]] ] \\ Wait for %V0 additional rings.
~ATA{ \\ Tell modem to establish connection.
\TO[30]
\IE+%AD,ON[\WF[CONNECT] | \WF[00]]~ \\ Wait for "CONNECT"/"00" message
\IW-[\GB[Cycle]] \\ If not found, cycle for next call.
\IE-%AD,ON[\GB[Welcome]] \\ If auto-detect baud rate OFF, welcome.
\IF+38[\CS[38400] \GB[Welcome]] \\ Otherwise,
\IF+19[\CS[19200] \GB[Welcome]] \\ scan "connect xxx" message,
\IF+96[\CS[9600] \GB[Welcome]] \\ set the port speed appropriately,
\IF+48[\CS[4800] \GB[Welcome]] \\ and go to the Welcome block.
\IF+24[\CS[2400] \GB[Welcome]]
\IF+12[\CS[1200] \GB[Welcome]]
\CS[300] \GB[Welcome] \\ ...use 300 baud if just "CONNECT"
|Welcome
\EC+ \LF+
\IV3+MODEM[\AV[6] \AL2[1] \AV[0] \PA[3] \PL]
{{{
Welcome to BOYAN 5.0 Host!{{
Press <Enter> to begin: `
\DM1[ ╔═══════════════════════════════════════╗ ]
\DM2[ ║ Host Mode Logging user in... ║ ]
\DM3[ ╠═══════════════════════════════════════╣ ]
\DM4[ ║ Press <Tab> for Sysop Menu. ║ ]
\DM5[ ║ Press <Esc> to quit Host Mode. ║ ]
\DM6[ ╚═══════════════════════════════════════╝ ]
\TO[40] \RV0[0] \SVX[OFF]
\IW-[\GB[LogOff]] \\ if no response, log user off!
\BL[GetName&PW]
\IVN+[Try again.{ \BL[GetName&PW]]
\IVN+[Last try!{ \BL[GetName&PW]]
\IVN+[\GB[WrongPassword]]
\SN[%VN] \SVO[in-use]
Welcome online, %VF! Your user level is %VL.{
\FE+%V4`welcome.msg[\UF- \ULa-[%V4`welcome.msg] \UF+] \\ Send "WELCOME.MSG"
\GB[Menu]
|GetName&PW
\SV0[] \SVP[] \SVL[0] \SVE[] {
Enter your FIRST & LAST name: `
\RVN[50] \IVN+[\EB]
\SVF[%VN] \II+ ,%VF[\LVF[%IM]] \\ set %VF = user's First name
\II+;,%VN[\SV0[%VN] \DV0[%II] \LVN[%IM] ] \\ parse "First Last;password"
Searching \SVI[40] \BL[SearchUserBase]{
\IVI+111[\GB[UserNotFound]]
\IVP+[No password for you in database!{ \SVN[] \EB ]
\UM[Logged in Host User %VI: %VN]
\IV0+[Enter your password: `\RV0*[15]]
\IV0-%VP[\SVN[]] \\ If password wrong, unset VN.
|SearchUserBase \\ Search for %VN; set %VP=pwd, %VL=level.
\RE[\+VI[1] \IVI+111[\EB] .\TVA[%VI] \II+;,%VA[\EM]] \\ loop until `;' in %VA
\SVP[%VA] \LVA[%IM] \\ trim off name portion into %VA
\IVA-%VN[\GB[SearchUserBase] |else \SVN[%VA]]
\DVP[%II] \II-;,%VP[\EB] \\ if no ';' in remainder, we're done.
\SVL[%VP] \LVP[%IM] \\ trim off only password portion into %VP
\DVL[%II] \II-;,%VL[\EB]
\SVE[%VL] \LVL[%IM] \\ trim off user level portion into %VL
\DVE[%II] \\ %VE contains rest of user base entry.
|UserNotFound
Did you enter your name correctly as '%VN' (y/N) ? \RV8[1]
\IV8-Y[\SVN[] \EB]
\SV8[41] \SVI[none]
\RE[\TV9[%V8] \IV9+[\SVI[%V8] \EM] \+V8[1] ] \\ search user base for blank #
\IVI+none[Sorry, user base is full! {\EB]
%VF, you will be registered as user #%VI.{
Please choose a password for this system (asterisks will echo): `
\RVP*[15]
\IVP+[Blank passwords are not allowed.{{\GB[UserNotFound]]
Type your password again to confirm: `
\RV9*[15]
\IE-%VP,%V9[Your passwords didn't match!{\GB[UserNotFound]]
\UM[** New Host User %VI ** %VN, level %VL]
\SVE[ first called on %MO/%DA/%YR at %HR:%MI]
\TM%VI[%VN;%VP;%VL;%VE] \\ add entry to user base
|MENU
\ST[ » Press <Tab> for Sysop Menu. «] \KO[0]
\IVL+0[\svc[LRFZCONXG]] \\ sets the available commands for each user level
\IVL+1[\svc[LERFDUZCONXG]]
\IVL+2[\svc[LERKFDUZCOJNXGS]]
\IVX+ON[Boyan-Host Expert Menu <%VC> { \GB[MenuDispatch] ]
{`````````============================{
`````````` Boyan-Host Command Menu{
``````````----------------------------{
\II+L,%VC[ <L> List message titles{]
\II+E,%VC[ <E> Enter a new message{]
\II+R,%VC[ <R> Read a message{]
\II+K,%VC[ <K> Kill a message{]
\II+C,%VC[ <C> Comment to operator{]
``````````----------------------------{
\II+F,%VC[ <F> File listing{]
\II+D,%VC[ <D> Download files{]
\II+U,%VC[ <U> Upload files{]
\II+Z,%VC[ <Z> ZIP file contents{]
\II+J,%VC[ <J> Jump to DOS{]
``````````----------------------------{
\II+O,%VC[ <O> Operator page{]
\II+N,%VC[ <N> New password{]
\II+X,%VC[ <X> Expert mode toggle{]
\II+G,%VC[ <G> Goodbye{]
\II+S,%VC[ <S> Shut down host!{]
``````````============================{
\GB[MenuDispatch]
|MenuDispatch
Your selection: `\RV0[1]
\II-%V0,%VC[Sorry, <%V0> is not a valid option.{\GB[Menu]]
\IV0+L[\GB[ListMsgs]]
\IV0+E[\GB[EnterMsg]]
\IV0+C[\GB[EnterComment]]
\IV0+R[\GB[ReadMsg]]
\IV0+K[\GB[KillMsg]]
\IV0+F[\GB[ListFiles]]
\IV0+D[\GB[Download]]
\IV0+U[\GB[Upload]]
\IV0+Z[\GB[ZipView]]
\IV0+O[\GB[OperatorPage]]
\IV0+J[\GB[Shell]]
\IV0+N[\GB[NewPassword]
\IV0+X[\GB[ToggleExpert]
\IV0+G[\GB[LogOff]]
\IV0+S[\GB[Shutdown]]
\GB[Menu]
|ListMsgs
Available messages:{
\DC[dir %V4*.msg /W > %B:#hosttmp.fil] \\ use DOS to list messages to file
\UF- \ULa-[%B:#hosttmp.fil] \UF+
\GB[Menu]
|EnterMsg
Type a name for your message (1-8 letters): ________^H^H^H^H^H^H^H^H
\RV0[8] \\ read in message name of up to 8 chars
\SV0[%V4%V0.msg] \\ make %V0 = full path\filename.msg
\FE+%V0[That message already exists.{ \GB[Menu]]
\GB[MsgHeader]
|EnterComment
Leaving a private comment for the System Operator...{
\SV0[%V4#comment.tmp]
\FE+%V0[\DC[DEL %V0]] \\ delete #comment.tmp if it already exists
\GB[MsgHeader]
|MsgHeader
\SV9[=========== From: %VN ==== %MO/%DA at %HR:%MI ===========]
\AF%V0[%V9]
\FE-%V0[Unable to create message file %V0.{ \GB[Menu]]
\AF%V0[]
Enter your message. Hit <Return> on empty line when message is complete.{{
%V9{{
\TO[100] \\ set 100-second timeout for each line
\SV9[1] \\ line number counter, starts at 1
\GB[GetMsgLines]
|GetMsgLines
\RE[%V9>" \RV8+[70] \IV8+[\EM] \AF%V0[%V8] \+V9[1]]
\GB[EnterOptions]
|EnterOptions
{Message options: [A]bort, [C]ontinue, [L]ist, or [S]ave ? `
\RV8[1]
\IV8+A[\DC[del %V0] Message aborted.{ \GB[Menu] ]
\IV8+S[\IV0+%V4#comment.tmp[\GB[SaveComment]]]
\IV8+S[Message saved.{ \UM[| Posted %V0] \GB[Menu] ]
\IV8+C[\GB[GetMsgLines]]
\IV8+L[{ \UF- \ULA-[%V0] \UF+]
\GB[EnterOptions]
|SaveComment
Comment saved.{
\UM[| Left comment to operator]
\AF%V0[]
\SV1[%V4`COMMENTS.HOS]
\FE-%V1[\DC[ren %V0 COMMENTS.HOS] | \DC[type %V0 >> %V1] \DC[del %V0] ]
\GB[Menu]
|ReadMsg
Name of message to read: `\RV0[8]
\SV0[%V4`%V0.msg] \\ expand name to path\filename.msg
\FE-%V0[That message does not exist.{ \GB[Menu]]
\UF- \ULa-[%V0] \UF+ \\ send file if it exists
\GB[Menu]
|KillMsg
Name of message to kill: `\RV0[8]
\SV0[%V4%V0.msg] \\ expand name to path\filename.msg
\FE-%V0[That message does not exist.{ \GB[Menu]]
\DC[DEL %V0]
Message file %V0 deleted.{
\GB[Menu]
|ToggleExpert
\IVX+ON[\SVX[OFF] |ELSE \SVX[ON]]
\GB[Menu]
|ListFiles \\ list files in host directory
Files available for downloading:{
\DC[dir %V5*.* > %B:#hosttmp.fil] \\ use DOS to create list in temp. file
\UF- \ULa-[%B:#hosttmp.fil] \UF+
\GB[Menu]
|Download
\BL[SetProtocol] \\ selected protocol stored in %V9
\IV9+Q[\GB[Menu]] \\ back to files menu if no protocol
Enter name of file to download: `
\RV0[38]{ \\ read filename into %V0
\II+"\,%V0[\IVL-2[\GB[Menu]]] \\ need user level = 2 if "\" in filename
\II-"\,%V0[\SV0[%V5%V0]] \\ Otherwise, add host file path to name.
\II-*,%V0[\II-?,%V0[\FE-%V0[File not found.{ \GB[Menu] ]]]
Sending: %V0{
Protocol: <%V9>{
Start the download on your end now.{
\IV9+A[Press <Return> when ready: \WL{] \\ expect <CR> if ASCII download
\UL%V9-[%V0] \\ send file %V0 using protocol %V9
\IV9+A[^K] \\ send <Ctrl-K> to close ASCII download
{ Download `\IT+[successful. |ELSE unsuccessful.] {
\GB[Menu]
|Upload
\BL[SetProtocol] \\ selected protocol stored in %V9
\IV9+Q[\GB[Menu]] \\ back to files menu if no protocol
Enter name of file to upload: `
\RV0[38]{
\IV0+[\GB[Menu]] \\ back to menu if no filename entered
\II+"\,%V0[\IVL-2[\GB[Menu]]] \\ if "\" in filename, require level 2
\II-"\,%V0[\SV0[%V5%V0]] \\ Otherwise, add host file path to name.
\II-.,%V0[\SV0[%V0.]] \\ Add "." to filename if not there
\FE+%V0[File already exists.{ \GB[Menu]] \\ go back if file already here
Receiving: %V0{
Protocol: [%V9]{
Start the upload on your end now.{
\PA[3] \\ wait 3 secs before expecting file
\DL%V9-[%V0] \\ receive file %V0 using protocol %V9
{ Upload `\IT+[successful. |ELSE unsuccessful.] {
\GB[Menu]
|SetProtocol \\ returns the protocol letter selected, in %V9
\SV8[AXC1YG] \\ set %V8=all possible protocol letters
\IP+K[\SV8[%V8`K]] \\ add 'K' to list if Kermit available
\IP+L[\SV8[%V8`L]] \\ add 'L' to list if Megalink available
\IP+P[\SV8[%V8`P]] \\ add 'P' to list if MPt available
\IP+S[\SV8[%V8`S]] \\ add 'S' to list if Sealink available
\IP+Z[\SV8[%V8`Z]] \\ add 'Z' to list if Zmodem available
``````````=================={
`````````` Protocol Choices{
``````````------------------{
\II+A,%V8[ <A> ASCII{]
\II+C,%V8[ <C> CRC-Xmodem{]
\II+G,%V8[ <G> G-Ymodem{]
\II+K,%V8[ <K> Kermit{]
\II+L,%V8[ <L> Megalink{]
\II+P,%V8[ <P> MPt{]
\II+S,%V8[ <S> Sealink{]
\II+X,%V8[ <X> Xmodem{]
\II+Y,%V8[ <Y> Ymodem{]
\II+Z,%V8[ <Z> Zmodem{]
\II+1,%V8[ <1> 1K-Xmodem{]
`````````` <Q> QUIT{
``````````=================={
Your selection: `\RV9[1]
\IV9+Q[\EB]
\II+%V9,%V8[\EB] \\ if selection is ok, then end block.
Sorry, protocol <%V9> is not available.{
\GB[SetProtocol]
|ZipView
Available .ZIP files:{
\DC[dir %V5*.zip /w > %B:#hosttmp.fil]
\ULa-[%B:#hosttmp.fil]{
Enter name of ZIP file to view: `
\RV9[8] \SV9[%V5%V9]
\FE-%V9.ZIP[File '%V9.ZIP' doesn't exist.{ \GB[Menu]]
\DC[pkunzip -v %V9 > %B:#hosttmp.fil]
\ULa-[%B:#hosttmp.fil]
\GB[Menu]
|OperatorPage
\II+%HR,01,02,03,04,05,06,07,08[Operator not available at this hour!{\GB[Menu]]
Paging operator for 20 seconds ...{
\SV8[%VF] \LV8[10] \\ set %V8 = first 10 letters of caller's first name
\DM1[ ╔═══════════════════════════════════════╗ ]
\DM2[ ║ Host Mode OPERATOR BEING PAGED ║ ]
\DM3[ ╠═══════════════════════════════════════╣ ]
\DM4[ ║ <G> = Gossip with %V8``````` ║ ]
\DM5[ ║ <Tab> = SYSOP Menu ║ ]
\DM6[ ║ <Esc> = ABORT Host Mode ║ ]
\DM7[ ║ Any other key if 'not available now'.║ ]
\DM8[ ╚═══════════════════════════════════════╝ ]
\AV[7] \AL2[20] \AV[0] {{
\RE[\IK+[\EM]] \\ Wait for any (local) keypress. If key='G', go to
\IE+%IK,G[\GB[Gossip]] \\ Gossip block. (Tab&Esc are handled as interrupts.)
Sorry, the operator isn't available now.{
\GB[Menu]
|Gossip
\IV3-LOCAL[\AM[G]]
Please switch into your local "Gossip" module to chat with Sysop...{
\ST[ » Press <Tab> for Sysop Menu. «]
\RE[\IK+[%IK]] \\ This "tight loop" handles 2-way chatting.
|Shell
\UM[| Host user Jumped to DOS.]
{{
\IV3+LOCAL[\JD \GB[Menu]] \\ if Local Host test, just Jump to DOS.
\FE+%B:DOORWAY.EXE[\GB[Doorway]] \\ Branch if doorway.exe found.
Type "EXIT" to return to BOYAN-Host.{
\SV0[%B:#hosttmp.bat] \\ Create a new batch file #HOSTTMP.BAT
\FE+%V0[\DC[del %V0]] \\ which has three lines:
\AF%V0[CTTY COM%MD] \\ CTTY COM1 (or COM2,COM3,COM4)
\AF%V0[COMMAND] \\ COMMAND
\AF%V0[CTTY CON] \\ CTTY CON
\DC[%B:#hosttmp] \\ Then execute the batch file.
\GB[Menu]
|Doorway
Switch into the DOORWAY module of your communications program now, %VF.{
\DC[%B:DOORWAY COM%MD /V:D /L: /S:* /C:dos] \\ invoke DOORWAY
\GB[Menu]
|Shutdown
Are you sure you want to Shut Down the host (y/N) ? `
\RV0[1]{
\IV0-Y[\GB[Menu]]
BOYAN Host shut down.{
\IV3+MODEM[\PA[2]\HU] \\ Pause & hang up.
\PA[2] \\ 2-second pause...
\AB \\ Abort script (goes to *WRAPUP block)
|NewPassword
Please type your current password (asterisks will echo): `
\RV8*[15]
\IV8-%VP[Wrong password!{ \GB[Menu]]
Type the new password you would like: `
\RV8*[15]
\IV8+[Blank passwords are not allowed.{ \GB[Menu]]
Type this password again to confirm: `
\RV9*[15]
\IE-%V8,%V9[Your passwords didn't match!{ \GB[Menu]]
\UM[| Caller changed password]
Your password has been changed.{
\SVP[%V8]
\TM%VI[%VN;%VP;%VL;%VE] \\ store change in host user base
\GB[Menu]
|WrongPassword
Sorry, too many attempts.{
\UM[| Incorrect password '%V0'; user denied entrance.]
\GB[LogOff]
|LogOff
{Thank you for using BOYAN host!{{
\IV3+MODEM[\PA[5]\HU~~~]
\GB[Cycle]
|Cycle \\ This block runs between all calls.
\IV3+MODEM[\HU \PL] \\ hang up & purge line if MODEM connection
\DM1,[Host cycled %VN at %HR:%MI.]
\UM[| Disconnected after %SL] \\ add host.use message
\PA[3] \SVN[] \SN[] \\ Erase the username from %VN
\GB[WaitForCall]
|*TAB \\ This runs automatically when <Tab> pressed
\IVO+waiting[\sv9[FHJVWPRST]] \\ available menu options if no caller logged in
\IVO+in-use[\sv9[CFGHJLVWPRST]]\\ available menu options if caller IS logged in
\IE-%AN,HOST[\AM[H]\EC+\LF+] \\ make sure we're using Host module
\IV3+MODEM[\PL]
\SV8[%VF] \LV8[10] \\ set %V8 to caller's first name (10 letters)
\KS \SV0[3]
``````````\DM12,%V0[ ╔═══════════════════════════════════════╗ ] \+V0[1]
``````````\DM12,%V0[ ║ SYSOP MENU %HR:%MI Boyan Host Mode ║ ] \+V0[1]
``````````\DM12,%V0[ ╠═══════════════════════════════════════╣ ] \+V0[1]
\II+C,%V9[\DM12,%V0[ ║ <C> = Cycle Host (Hang Up) ║ ] \+V0[1] ]
\II+F,%V9[\DM12,%V0[ ║ <F> = DOS File Manager ║ ] \+V0[1] ]
\II+G,%V9[\DM12,%V0[ ║ <G> = Gossip with %V8``````` ║ ] \+V0[1] ]
\II+H,%V9[\DM12,%V0[ ║ <H> = Host configuration section ║ ] \+V0[1] ]
\II+J,%V9[\DM12,%V0[ ║ <J> = Jump to DOS ║ ] \+V0[1] ]
\II+L,%V9[\DM12,%V0[ ║ <L> = Change caller's user Level ║ ] \+V0[1] ]
\II+P,%V9[\DM12,%V0[ ║ <P> = Change modem Parameters ║ ] \+V0[1] ]
\II+S,%V9[\DM12,%V0[ ║ <S> = Scroll-back buffer ║ ] \+V0[1] ]
\II+T,%V9[\DM12,%V0[ ║ <T> = Toggle 43/50-line mode (EGA/VGA)║ ] \+V0[1] ]
\II+V,%V9[\DM12,%V0[ ║ <V> = View HOST.USE usage log ║ ] \+V0[1] ]
\II+W,%V9[\DM12,%V0[ ║ <W> = View COMMENTS.HOS comment file ║ ] \+V0[1] ]
``````````\DM12,%V0[ ╟───────────────────────────────────────╢ ] \+V0[1]
\II+R,%V9[\DM12,%V0[ ║ <R> = RESUME Host Mode ║ ] \+V0[1] ]
``````````\DM12,%V0[ ║<Esc>= ABORT Host Mode ║ ] \+V0[1]
``````````\DM12,%V0[ ╚═══════════════════════════════════════╝ ]
\KO[30] \BB+ \KV0_[SYSOP OPTION: ] \BB- \RS
\II-%V0,%V9[\GB[*TAB]]
\IV0+R[\ST[Continuing script...] \IVO+in-use[\GB[Menu] | \GB[WaitForCall]] ]
\IV0+C[\GB[LogOff]]
\IV0+G[\GB[Gossip]]
\IV0+L[\GB[ChangeUserLevel]]
\IV0+F[\FM[%V4]]
\IV0+H[\CB[A] \IE-%AN,HOST[\AM[H]] ]
\IV0+J[\JD]
\IV0+P[\CM]
\IV0+W[\DC+[%LC %V4`COMMENTS.HOS]]
\IV0+S[\RB]
\IV0+T[\GL*]
\IV0+V[\DC+[%LC %UN]]
\GB[*TAB]
|ChangeUserLevel
\KS
\DM1[ ╔═══════════════════════════════════════╗ ]
\DM2[ ║ Setting Caller's User Level ║ ]
\DM3[ ╠═══════════════════════════════════════╣ ]
\DM4[ ║ <0> - New user (limited access) ║ ]
\DM5[ ║ <1> - Regular (messages & files) ║ ]
\DM6[ ║ <2> - SYSOP (Jump to DOS, etc.) ║ ]
\DM7[ ║ ( Press <Esc> to quit Host Mode. ) ║ ]
\DM8[ ╚═══════════════════════════════════════╝ ]
\KVL%VL[New level for %VF: ] \RS
{%VF, your user level is now %VL.{
\TM%VI[%VN;%VP;%VL;%VE] \\ store change in host user base
\GB[Menu]
|*WRAPUP
\IE-%AN,HOST[\EB]
\DM1[ ╔═══════════════════════════════════════╗ ]
\DM2[ ║ Host Mode Finished. ║ ]
\DM3[ ╠═══════════════════════════════════════╣ ]
\DM4[ ║ ║ ]
\DM5[ ║ Press <Alt-I> to re-invoke host. ║ ]
\DM6[ ╚═══════════════════════════════════════╝ ]
\UF- \IVU-[\UF+[%VU]] \\ close HOST.USE log; reopen prev. log.
\BB+ \AV[7] \\ sound effects back on
\AM[%VR] \\ change back to previous action module
\GB[Restore7]
|Restore7 \\ restore your macro #7 from macro#7.hos
\SV1[\AL3[0"] \RC \SK- \UM[| Disconnected after "%SL"]]
\FE+%B:macro#7.hos[\GV1[%B:macro#7.hos] \GV1[] \DC[del %B:macro#7.hos]]
\SM7[%V1]